<?php

namespace App\Models\Admin;

use App\Models\BaseModel;

class AdminUsersMoneyLog extends BaseModel
{
  /**
   * 与模型关联的数据表。
   *
   * @var string
   */
  protected $table = 'admin_users_money_log';

  /**
   * 可以被批量赋值的属性。
   *
   * @var array
   */
  protected $fillable = array(
    'money',
    'befor_money',
    'after_money',
    'ordernum',
    'type',
    'type_desc',
    'remark',
    'create_by',
    'create_time',
    'update_by',
    'shop_id'
  );
  public $timestamps = false;

  public function aliasRable($alias)
  {
    return $this->setTable($alias);
  }

  /**
   * 查询数据需要过滤掉的属性。
   *
   * @var array
   */

  protected $hidden = array(
    'updated_at'
  );
  //返回关键字段
  public function getTableField()
  {
    return $this->fillable;
  }
  /**
   * 建表语句
   */
  protected function buildTable($name = '')
  {
    $tablename = $this->table;
    if (!empty($name)) {
      $tablename = $name;
    }
    $table  = "CREATE TABLE IF NOT EXISTS  $tablename (
      `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'logID',
      `money` decimal(11,2) DEFAULT NULL COMMENT '操作金额',
      `befor_money` decimal(11,2) DEFAULT NULL COMMENT '操作后的金额',
      `after_money` decimal(11,2) NOT NULL COMMENT '操作前的金额',
      `ordernum` varchar(100) NOT NULL COMMENT '订单号',
      `type` char(2) DEFAULT '0' COMMENT '预留字段',
      `type_desc` varchar(50) DEFAULT '' COMMENT '收费解释',
      `shop_id` int(11) DEFAULT '0' COMMENT '店铺id',
      `create_by` varchar(64) DEFAULT '' COMMENT '创建者',
      `create_time` datetime DEFAULT NULL COMMENT '创建时间',
      `update_by` varchar(64) DEFAULT '' COMMENT '更新者',
      `update_time` datetime DEFAULT NULL COMMENT '更新时间',
      `remark` varchar(500) DEFAULT NULL COMMENT '备注',
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8 COMMENT='用户资金记录表';";
    return $table;
  }
  /**
   * 插入新的字段
   */
  protected function bulidField()
  {
    //例子
    $array = [
      'dist_id' => "int(11) DEFAULT null COMMENT '分销商'",
      'dist_name' => "int(11) DEFAULT null COMMENT '分销商名称'"
    ];
    return $array;
  }

  // 关联 role表
  public function userToRole($role)
  {
    // return $this->hasMany(Role::className(),);
  }
  //类型
  public function getTyle()
  {
    return [
      '1' => '入单',
      '2' => '订单状态',
      '3' => '短信费用'
    ];
  }
  public function getTypeDesc($type)
  {
    $array = $this->getTyle();
    return isset($array[$type]) ? $array[$type] : '未知状态';
  }
}
